import threading
import time

"""
name：只是一个名字，只是个标识，名字可以重名。使用getName()、setName()方法获取、设置这个名词。
ident：线程ID，它是非0整数，线程启动后才会有ID，否则为None。线程退出，ID可能会分配给其他线程使用。
注意：线程Name只是一个名字，可以重复；但是ID必须唯一，而且可以退出后利用。
is_alive()：判断线程是否存活。

start()和run()方法。
run方法只是执行了函数体，并没有开辟线程空间，默认在当前线程执行；
start方法先开辟线程空间，然后再线程空间中执行函数体。所以，启动线程需要使用start方法，才能启动多个线程。
"""

def workerer():
    count = 0
    while True:
        count += 1
        time.sleep(1)
        print('hello,world')
        if count >= 5:
            break
    print('threading over')


t = threading.Thread(target=workerer, name='w1')
t.start()

while True:
    time.sleep(1)
    if t.is_alive():
        print('Thread name {}  id {} is alive'.format(t.name, t.ident))
    else:
        print('Thread name {}  id {} is dead'.format(t.name, t.ident))
        break
